x86/mem_event: deliver gla fault EPT violation information
authorTamas K Lengyel <tamas.lengyel@zentific.com>
Thu, 28 Aug 2014 14:04:05 +0000 (16:04 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 28 Aug 2014 14:04:05 +0000 (16:04 +0200)
commit692f3cc7dd05b80dbd027e46372b1c25d7975332
treedb606f467cb656ca7c7fe5446c480a8521694abb
parent401d5c5cc5a780cad160aa0e3c282c11ac11dd0c
x86/mem_event: deliver gla fault EPT violation information

On Intel EPT the exit qualification generated by a violation also
includes a bit (EPT_GLA_FAULT) which describes the following
information: Set if the access causing the EPT violation is to a
guest-physical address that is the translation of a linear address.
Clear if the access causing the EPT violation is to a paging-structure
entry as part of a page walk or the update of an accessed or dirty bit.

For more information see Table 27-7 in the Intel SDM.

This patch extends the mem_event system to deliver this extra
information, which could be useful for determining the cause of a
violation.

Signed-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Tim Deegan <tim@xen.org>
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/vmx/vmx.c
xen/arch/x86/mm/p2m.c
xen/include/asm-x86/hvm/svm/svm.h
xen/include/asm-x86/mm.h
xen/include/public/mem_event.h